% %fprintf("%s 共花费%d \n",sstr,profit_now);
% function [reme,r_p,r_s,r_c]  = Q2f(init_data)
%     global remember;
%     global r_pos;
%     global r_str;
%     global r_cost;
%     r_cost = 0;
%     r_pos = 1;
%     % init_data = [0.1, 4, 2; ...
%     %     0.1, 18, 3;...
%     %     0.1, 6, 3;...
%     %     56, 6, 5];
%     profit = 0;   % 生产一单位的成品总共的利润
%     Defective_rate = [0,0,0];  %  生产一单位的成品a零件和b零件的次品率
%     str = '';
%     cost(init_data,1,profit,Defective_rate,str);
%     reme = remember;
%     r_p = r_pos;
%     r_s = r_str;
%     r_c = r_cost;
% end
% %  计算花费
% function ret = cost(init_data,pos , profit ,Defective_rate,str)
%     % 不进行检测
%     % 新利润等于旧利润减去零件的花费
%     profit_now = profit - init_data(pos,2);
%     % 次品率等于原次品率
%     Defective_rate(pos) = init_data(pos,1);
%     % 加上调试信息
%     sstr = str + "零件"+num2str(pos) + "不进行检查   ";
%     % pos为1的话接下来去判断零件2是否检测
%     % pos为2的话接下来去判断成品是否检测
%     if(pos == 1)
%         cost(init_data,2,profit_now,Defective_rate,sstr);
%     elseif(pos == 2)
%         cost_fg(init_data,profit_now,Defective_rate,sstr);
%     end
% 
% 
%     % 进行检测
%     % 新利润等于旧利润减去零件的花费 再减去检测成本
%     profit_now = profit - init_data(pos,2)-init_data(pos,3);
%     % 检测后次品率为0
%     Defective_rate(pos) = 0;
%     % 加上调试信息
%     sstr = str + "零件"+num2str(pos) + "进行检查   ";
%     if(pos == 1)
%         cost(init_data,2,profit_now,Defective_rate,sstr);
%     elseif(pos == 2)
%         cost_fg(init_data,profit_now,Defective_rate,sstr);
%     end
% end
% 
% 
% % 调整成品
% function ret = cost_fg(init_data , profit ,Defective_rate,str)
%     % 不进行检测
%     % 新利润等于旧利润减去组装的花费
%     profit_now = profit - init_data(3,2);
%     % 次品率 :1,2,成品 的基本次品率相互独立,只要算出不出错的概率再用1减去不出错的概率即可
%     fg_no_error = (1-Defective_rate(1)) * (1-Defective_rate(2)) * init_data(3,1);
%     Defective_rate(3) = 1 - fg_no_error;
%     % 加上调试信息
%     sstr = str + "成品不进行检查   ";
% 
%     cost_sell(init_data,profit_now,Defective_rate,sstr);
% 
% 
%     % 进行检测
%     % 新利润等于旧利润减去组装的花费 再减去检测成本
%     profit_now = profit - init_data(3,2)-init_data(3,3);
%     % 检测后次品率为0
%     Defective_rate(3) = 0;
%     % 加上调试信息
%     sstr = str + "成品检查后拆   ";
%     % cost_sell(init_data,profit_now,Defective_rate,sstr);
% 
%     sstr = str + "成品检查后不拆   ";
% end
% % 生产完毕,进行售卖
% function ret = cost_sell(init_data , profit ,Defective_rate,str)
%     % 售卖的话只需要把利润加上售价即可
%     profit = profit + init_data(4,1);
%     str = str + "加上利润" + num2str(init_data(4,1)) + "元  ";
%     cost_after_sales(init_data , profit ,Defective_rate,str);
% end
% 
% % 售卖完毕,进行售后
% function ret = cost_after_sales(init_data , profit ,Defective_rate,str)
%     global remember;
%     global r_pos;
%     global r_str;
%     global r_cost;
%     % 首先所有不合格商品进行调换 ,原价减去  调换花费乘成品坏的概率
%     % 是否进行拆解
%     profit = profit - init_data(4,2) * Defective_rate(3);
%     sstr = str + "不合格进行报废";
% 
%     fprintf("%s 利润为%s \n",sstr,num2str(profit));
% 
%     remember(r_pos) = profit;
%     r_pos= r_pos + 1;
%     if(r_cost < profit)
%         r_cost = profit;
%         r_str = sstr;
%     end
%     % 对不合格的商品拆解时可能会获得合格的零件
%     % 如果合格的零件费用大于拆解花费的话,相当于获利
% 
%     % 次品率 :1,2,成品 的基本次品率相互独立
%     % 零件1不出错但是成品出错
%     % 1 单位成品,不合格Defective_rate(3)个
%     p_fg = 0; % 成品的合格率
%     if(Defective_rate(3) == 0)
%         p_fg = 0;
%     else
%         p_fg = init_data(3,1);
%     end
%     % 1 单位成品,保证零件一合格,零件2或(和)成品组装不合格 有(1 - p1) *(1 - (1 - p2)*(1 - p3)
%     Unqualified_pos1_qualified = (1 - Defective_rate(1) *(1 - (1 - Defective_rate(2))*(1 - p_fg) ) );
%     Unqualified_pos2_qualified = (1 - Defective_rate(2) *(1 - (1 - Defective_rate(1))*(1 - p_fg) ) );
% 
%     profit = profit - init_data(4,3); % 减去拆解费用
%     % 加上新零件的费用
%     profit = profit + Unqualified_pos1_qualified * init_data(1,2) + Unqualified_pos2_qualified * init_data(2,2);
%     sstr = str + "不合格进行回收";
% 
%     fprintf("%s 利润为%s \n",sstr,num2str(profit));
%      remember(r_pos) = profit;
%     r_pos= r_pos + 1;
%     if(r_cost < profit)
%         r_cost = profit;
%         r_str = sstr;
%     end
% end

















